home *** CD-ROM | disk | FTP | other *** search
- DirectMusic Producer: DX8.1
-
- Hello and welcome to the DX8.1 release of DirectMusic Producer, the suite
- of authoring tools for DirectMusic. This release introduces some new features
- that were not found in the DX8 final release of Producer.
-
- We hope that you will find DirectMusic to be an exciting technology to explore.
- DirectMusic introduces ways of creating, playing and interacting with music
- that have never been before possible. Don't be daunted by the sheer number
- of ways you can approach musical performance - most people find a few good
- techniques that fit their creative needs and build from there. Have fun!
-
- The Producer setup will automatically uninstall any existing versions of
- Producer found on your machine. It's recommended that you close Producer
- before attempting to install.
-
- The DirectX8 version of Producer defaults to a different folder than previous
- versions, so if you have a shortcut pointing to the old location that shortcut
- will no longer work.
-
- Producer requires the DirectX8.1 version of DirectMusic, as Producer functionality
- is built entirely on top of DirectMusic. (The Producer installation process will
- prompt you to install the DirectX8.1 runtime bits, if they are not already present.)
-
- DirectMusic Producer also requires IE6.0 (or higher). Attempting to access
- Producer Help documentation will result in scripting errors with versions of
- Internet Explorer before IE6.0.
-
- Note that Producer is very memory-intensive because of all of the editing, display
- and undo information that is processed. The overall authoring experience will be
- improved by having machines with a significant amount of memory. Note also that
- DirectMusic runtime performance is much more efficient by comparison.
-
- DX8.1 Producer is not intended to be an authoring application for DX7 content.
-
- Demo8 Sample Content
- --------------------
- A project of sample content can be found on the SDK CD at
- "\dxf\dxsdk\essentls\dmusprod\democontent\dmpdemocontent.exe". The project will
- install to "My Documents\DMUSProducer\Demo8\" on your hard drive.
-
- New in this Release
- -------------------
- 1. Super low latency
- This option is defined via the MIDI/Performance Options button, enabling much lower
- latency, low enough to input notes from a keyboard in real time. This is only
- available if your soundcard uses a WDM driver, and actual performance will vary
- depending on the speed of the machine.
- Note also that the threshold for auditioning the software synth while recording MIDI
- in Producer has been increased to 60 milliseconds. If the total latency (as displayed
- in the Synth Status toolbar) is under 60 milliseconds then you'll hear the software
- synth play back notes while recording. If it is over 60 milliseconds, then the
- software synth will be muted; in this case it is recommended to enable the local
- output of a hardware synth for recording MIDI input.
- 2. Wave capture streamlined
- While the 'File Output' DMO is still available, it is no longer required for wave
- capture. Users can simply turn on "super low latency" (see #1) and set up wave
- capture in the wave/MIDI export toolbar.
- 3. DLS/wave editing
- a. The user has the option of selecting L, R or stereo files when selecting waves
- for DLS regions (stereo waves are still 2 mono waves under the hood though).
- b. "Replace" functionality for waves in DLS. Right click on the wave to be replaced
- in the Waves folder, then select the new wave to take its place.
- c. Text labels provided on DLS regions (listing the wave used per region).
- d. Many more edit boxes (in addition to sliders) are writable in DLS.
- e. Insert Silence option in Wave Editor
- Right click in the wave editor, specify amount to be inserted at cursor.
- f. Resample Wave
- Right click in the wave editor: Resample, specify the new sample rate.
- 4. Segment Designer
- a. Multiple waves imported as segments
- There is a new item in the File menu: Import>Wave File as Segment. In the file
- requester, users can multiple select wave files via Ctrl or Shift keys. The
- resulting segments are clocktime segments that match the length of each wave.
- b. Ability to edit segment length based on clocktime
- In the segment property page, users can now set length based on minutes, seconds
- and milliseconds.
- c. Wave Track objects can be multiple selected via Ctrl or Shift Clicking.
- d. Ability to start/stop segment while editing DMO in audiopath
- Keyboard shortcuts (Alt+< and Alt+>) are functional while the DMO property page is
- open.
- 5. Project Tree sort by Name, File Type or File Size
- Right click project name: Sort Tree>Name, Type or Size
- 6. Direct Connection to Band per part
- Applicable to pattern or sequence tracks in segments, or patterns in styles. There
- is a new band icon on the left side of the part. To the left of the icon is the
- current instrument name (based on current position of the cursor) which enables the
- user to define a new instrument without opening the band. By clicking the icon itself
- the user can select Open Band Editor, Insert New Instrument (position based on cursor)
- or Locate Band (which is helpful if you have a number of bands in a segment).
- 7. Cosmetic
- a. Strip shading: strips in segments have a little more 3D look to them.
- b. Customizable wallpaper
- Users can use custom bitmaps for the background area in Producer. To edit, open
- DMusprod.ini and specify the path to the custom bitmap, for example:
- [Custom]
- Wallpaper=C:\WINNT\yourpicturehere.bmp
- 8. Bug fixes
- Many performance and usability bug fixes are in this Beta release, too numerous to
- mention here. One of the most egregious bugs that limited the size of scripts has
- thankfully been fixed.
- 9. A new transition flag: Don't Cut Off Secondary Segments, which allows secondary
- segments not to be invalidated (or stopped) when switching to a new primary segment.
-
- New in DirectX 8
- -------------------------------------
- 1. Scripts
- One of the major new areas in DirectX Audio is the ability to create scripts,
- giving the composer or sound designer much more control in actually implementing
- music and sound effects in interactive scenarios. There are examples of scripting
- included in the Demo8 project and in a DirectMusic sample.
-
- 2. Audiopaths
- Audiopaths provide users with a number of new capabilities, including the
- ability to create mix groups, route mix groups to specific buses, and to set up
- effects.
-
- Audiopaths in most cases should be created as independent files. Audiopaths can
- also be embedded in segments. Right click the segment object New:Audiopath. In
- order to be heard, "Play on new instance of embedded audiopath" must be checked in
- the segment properties. However, the user is cautioned not to rely too heavily on
- embedded audiopaths as it is not economical - generally use global audiopaths and
- reserve embedded ones for situations where it is essential.
-
- To create a new audiopath, select File/New: Audiopath. At this point you'll be
- prompted to create an empty audiopath or one based on an existing one. Next you'll
- be prompted to add pchannels to this mix group. You should create a new mix group
- for each set of instruments that you wish to have independent control over the effects.
-
- If you wish to add more mix groups or add/remove pchannels to an existing mix group,
- right click under Mix Group.
-
- You can right click the Mix Group and select Properties to change the name of the
- Mix Group and to specify the Synthesizer. Generally you'll want this to be the
- Default Synth.
-
- The default Audio Bus is Stereo (L+R), although you can right click to change it to
- a number of possibilities. Note that you can insert additional buffers and specify
- standard Reverb or Chorus send. These sends can be modified via CC 91 (Reverb) and
- CC 93 (Chorus).
-
- One of the most exciting aspects of the audiopath is the ability to include a new
- format for what are commonly known as DirectX plug-ins. The new format is called
- DirectX Media Objects (DMO's), and allows for real-time control via the Parameter
- Control track in segments. Standard effects as well as third-party plug-ins can be
- integrated.
-
- On the right side of the audiopath editor is the effects palette. These effects can
- be dragged into an audiopath. Each instance of an effect can have unique properties
- (as defined in the property page).
-
- To integrate effect sends, create mix groups with no pchannels, then insert sends in
- the Effects List. The destination mix group, as well as a standard reverb send, will
- appear in the dropdown of the send property page.
-
- IMPORTANT: To make an audiopath "active" as the default audiopath, select the audiopath
- file in the Transport Options toolbar.
-
- 3. DLS2
- Editing of DownLoadable Sounds level 2 files are supported in this release. DLS2
- includes layering of waves (with velocity mapping), a low pass filter, six segment
- envelopes and conditional chunks.
-
- To get started, select File/New: DLS Collection, and right click Insert Wave...
- (stereo or mono). Double clicking the wave icon will open the wave editor.
-
- Right click the Instruments folder: Insert Instrument. After renaming the instrument
- (if you wish), double click the Instrument icon to open the Instrument editor. To
- work in DLS1 mode, just use the bottom layer above the piano keyboard (marked DLS1).
- Use standard resize and move icons to define regions. Select the Wave (in the Wave
- dropdown) that you wish to use for each region in the Wave, and redefine Root if
- needed.
-
- In this release, Stereo files can added to a DLS region (although under the hood they
- remain two mono regions that are linked). Stereo files can also be broken into Right
- and Left when assigning to a region.
-
- To add other layers (DLS2 only), right click Insert Region in the 2nd layer above the
- piano keyboard. Define the waves and resize the regions as previously described. If
- you wish to define regions by velocity, use the Velocity Range spin controls.
-
- DLS2 provides a second LFO, as represented by the Vib LFO tab in the Instrument
- Articulation. While the Mod LFO allows pitch or volume low frequency modulation,
- the Vib LFO only allows pitch.
-
- To enable filtering, uncheck the DLS1 checkbox on the top right of the Articulation
- editor and check the Enable Filter in the Filter tab. Here you can define the Initial
- Filter Cutoff, and Initial Q (resonance). You can map these to Envelope 2 (the Pitch
- Envelope). MIDI control of filtering is also enabled via CC 74.
-
- One of the features of the DLS2 specification is to be able to define certain
- conditions under which a particular region or articulation would be downloaded. Select
- the Edit button to the right of the Condition dropdown (in the region or articulations
- list property page) to open the Condition Script Editor. Right click in the editor to
- find the Queries and Operators supported.
-
- By using the DLS Conditions (audition) toolbar, you can test out various conditions as
- defined for each DLS2 region (or articulation). Click the icon to the right of the
- dropdown to create a new configuration. Give a name to the configuration, and set
- values for each of the queries. Regions and articulations that are not supported by
- the current configuration (and therefore not downloaded) are displayed with a circle/
- slash ("verboten") symbol.
-
- 4. New segment track types in DX8
- ╖ Wave track
- Enabling one shot or streaming waves placed on a timeline. File/Insert Files into
- Project and select your waves you wish to use. The wave editor is available for basic
- cut and paste functions on the wave files (they become .wvp design files).
-
- File/New: Segment, then right click in the editor Add Track(s): Wave Track. Double
- click the wave track to expand, then position the cursor at insertion point, right
- click Insert. Select the wave in the Wave dropdown of the Wave Properties. Drag and
- drop waves anywhere in the track. The initial setting of a wave part is a single layer
- (a) and the next unnamed layer below. As you insert or drag waves into the unnamed
- layer, this next layer is automatically created (b), and another unnamed layer is added.
- For each Wave Part, 32 variations are available via the variation buttons at the top of
- the Part.
-
- Wave track is one of the tracks that currently supports clocktime (as set in the track
- properties). When in this mode, editing and performance is done on a clock basis using
- minutes, seconds, grids per second and milliseconds. Music time tempo does not affect
- the track in this mode.
-
- ╖ Parameter Control Track
- Parameter Control Track enables users to control the parameters of DMOs (DirectX Media
- Objects) in Audiopaths or tools in Toolgraphs over time.
-
- File/New: Audiopath, then edit the Audiopath (or create an embedded Toolgraph) to
- contain the desired DMOs or Tools. Select the Audiopath in the Transport Options Toolbar
- to make it the active one.
-
- File/New: Segment, then right click in the editor Add Track(s)/Parameter Control Track.
- This creates an empty minimized track. Right click on this track and select Add New
- Parameter. This brings up the Add Parameter dialog which enables adding parameters for
- DMOs and Tools from the active Audiopath, an Audiopath embedded in the segment, or a
- Toolgraph in the segment. Maximize the track once the desired parameters have been added
- then right click on the track: Draw Curve. Draw the parameter control curve on the track
- by dragging a bounding box. The curve properties can be set through the property page.
- The start and end values and the position on the timeline can also be modified
- graphically by dragging the bounding frame for the curve or by dragging the curve across
- the timeline.
-
- Note that while there is a Toolgraph Designer shipping with DX8, there are no standard
- tools available with this release. However, custom tools can be created by developers.
- If you wish to integrate tools, please consult the documentation.
-
- ╖ Script track
- Script tracks allow users to reference scripts at specific points in the timeline.
-
- See the scripting section of the help file for more detail.
-
- ╖ Pattern track
- The Pattern track is essentially a sequence track that takes advantage of style note
- functionality and variations. While it doesn't provide new functionality per se, it
- is a very quick way to create variable content that responds to chords.
-
- File/New: Segment, then right click in the editor Add Track(s): Pattern Track. Add
- Parts, define Bands and enter notes just as you would for the Sequence Track, but keep
- in mind that you have 32 variations available, and that the notes respond to chord
- changes based on their functionality. (If you have a chord track in the segment, you
- can right click in the function bar on the left to define Keep Contant> MIDI Notes or
- Functionality.)
-
- ╖ Segment Trigger track, allowing users to cue primary or secondary segments (both
- segments and motifs) along the timeline. Note that triggering a primary segment will
- cause the currently playing primary segment to stop.
-
- File/New: Segment, then right click in the editor Add Track(s): Segment Trigger Track.
- Right click Insert on beat boundaries in the timeline, then select either a Segment or
- a Motif in the Segment Trigger Properties. If you choose a motif, then you must first
- select a style that the motif belongs to.
-
- ╖ The Lyric track already existed in design-time only Producer files, and is now
- enhanced to be an actual DirectMusic track type, allowing the user to use text cues
- for notifications.
-
- 5. Segment enhancements
- ╖ Groove ranges (as opposed to groove levels)
- Notice in groove tracks that a range of values can now be defined, permitting another
- level of variability in performance. If there are multiple patterns possible for a
- given groove definition, then a number of options for pattern repeat are available,
- including Random, Repeat Same, Sequential from 1st, Sequential from Random, No Repeats,
- and Shuffle (all possible will be played before repeating any patterns).
-
- ╖ Bypassing activity level
- Previously in template property pages, the Activity Level is now defined in the properties
- of the signpost track. The activity level defines how many chords should be composed from
- the chordmap and signpost combination. There is now an option to bypass this activity
- level, and simply choose a valid chord path at random. This is now the default setting
- for activity level.
-
- 6. Expanded Style functionality
- ╖ User defined embellishments
- In addition to the standard Intro, Break, Fill and End transition patterns, custom
- patterns can be assigned a number between 100 and 199. Segments can also be designated
- in the A/B (Transition Options) button as transition segments.
-
- ╖ Embellishment destination level
- In DX7 a transition pattern looked at the previous pattern and played a transition
- that matched that groove level. In DX8 a transition pattern can (in the property page)
- be assigned both a groove range (previous) and a destination range (next pattern).
- This greatly enhances the possibilities for continuity in performance.
-
- ╖ Enhanced variation performance
- In addition to the previous Play commands for variations (in random order and in order
- from first) there are three additional available: in order from random, with no repeats
- and shuffle (all possible will be played before repeating any variations).
-
- ╖ Variation switch points
- In DX7 a variation could only play in its entirety. In DX8 the user can define specific
- enter and exit points for a variation. These switch points are defined at the bottom of
- each part in the pattern editor, between the piano roll and the CC tracks. Switch points
- can be defined on grid boundaries (right click for options). They exist in two broad
- categories: normal switch points, or switch only if a chord change warrants it (in
- conjunction with the Variation Choices Window).
-
- ╖ New variation order options
- In parts included in patterns, motifs and pattern tracks, previously only two modes were
- available: play "in random order" or "in order from first". Now there are new options for
- ordering variations, including play "in order from random" (starts at a random variation,
- then proceeds in numerical order), "with no repeats" (won't play any two variations in a
- row) and "by shuffling" (won't repeat any variation until all variations have been played).
-
- ╖ New flags
- There are a number of areas that expose new flags (or options) for performance. Some
- that are notable include: the option whether to invalidate the segment when you cue a
- new primary segment, and the ability to regenerate the note when you encounter a new chord
- change while the note is sounding.
-
- 7. Containers
- Containers exist to allow users to package up all of the files used for a given purpose
- into a single parent file. Files can be referenced or embedded, or any combination of
- the two. The container is populated by right clicking and selecting "Add/Remove Files".
- You can also drag files from the project tree into either the Embed Runtime or Reference
- Runtime folders (design files are always referenced). There is a right click Locate in Tree
- function that allows the user to quickly find the source of any file in a container.
-
- Container files also exist in script files as a way of referencing multiple files. They
- appear in script files as Script Content, and also have Embed Runtime and Reference
- Runtime options.
-
- Compression
- -----------
- ╖ Generally ADPCM compression types have the most flexibility in regard to sample rate.
- You'll find the most success with MP3 and WMA when you compress at the same sample
- rate as the wave file.
- ╖ Wave tracks do not support WMA compression. They do, however, support other mono and
- stereo ACM codecs. DLS supports mono compression only, and does support WMA.
-
- Can lead to performance problems:
- ---------------------------------
- ╖ Generally, it is bad practice to write script routines with large loops. Doing so
- could cause the routine to take a long time to execute. If such a routine is used in
- the script track, it could stall the performance, causing the segmentÆs playback to
- stall or skip. Once a routine is called, it cannot be stopped-even if a segment that
- triggered it (via a script track) is stopped. If such a routine is called directly
- from the application, it could stall the application, preventing it from performing
- other important tasks.
- ╖ Setting the read-ahead value for streaming waves below 500 ms can cause part of the
- wave to fall silent before it loops back.
- ╖ Curve reset duration is longer than the curve's segment by default. In most cases
- this will have no impact but if you have problems with reset values it's something to
- watch out for.
- ╖ In some hardware (e.g., Yamaha DS-1) changing the synth properties in the audiopath
- property page can cause the pchannels to affected to play back as monophonic. The
- workaround is to reopen the property page, touch one parameter and close.
- ╖ When there are tempo changes in the vicinity of a wave in a wave track (e.g., via
- controlling segments or starting in the middle of a segment) the wave length can
- be affected and may not play for the full duration.
-
- Not intuitive:
- --------------
- ╖ While audiopath is "active", adding or removing effects will stop the performance
- and recreate the audiopath.
- ╖ When creating a new audiopath based on an existing audiopath, the volume and pan
- information does not get copied. With this release, however, a new GUID is assigned
- to the new audiopath.
- ╖ DirectSound always sorts the Bus IDs so that they are always in ascending order.
- In this release we have prevented the user from creating busses that are inappropriate
- based on DirectSound ordering.
- ╖ Transitioning a segment with an embedded audiopath back to itself will cause playback
- to revert to the global audiopath.
- ╖ If you're compressing with WMA, append the sample with blank space at the end -
- otherwise the sample may get truncated. Also note that WMA compression is supported
- for DLS, but not for waves in wave tracks.
- ╖ When authoring DLS1 files, there are two checkboxes that need to be checked, one in the
- articulation (on by default, next to the ADSR display in the instrument editor) and one
- in the articulation list property page (off by default). Note that the "Check for DLS1
- Compatibility" function does not check for both checkbox states.
- ╖ Lyrics and script error messages will not appear in the Message Window if the segment
- playing does not have pchannel 1.
- ╖ If any referenced segments in a segment trigger track fail to load, then the entire
- track will fail to load (or play). Likewise with wave tracks: if any referenced waves
- fail to load the entire wave track will fail to load (or play).
- ╖ If wave edits are made in the Wave Editor while a segment references that wave in
- a wave track, the wave will fall silent. To work around this, force a redownload by
- stopping the segment and making another edit to the wave (alternately by reinitializing
- the performance by changing the number of voices for the synth).
- ╖ If your soundcard does not have WDM drivers (and hence, no "Super Low Latency" option),
- Wave Export in the Wave/MIDI Export Toolbar relies on the "FileOutput" DMO to capture
- and record music. To use the Wave Export feature you must create an audiopath that
- contains the "FileOutput" DMO, which can be found in the audiopath designer's Effect
- Palette, and then select this audiopath as the default audiopath. If the performance
- you are recording creates more than one instance of the "FileOutput" DMO, your recording
- will span two or more .wav files because each instance of this DMO creates a separate
- .wav file and records only the audio data that enters it. Note that multiple mix groups
- can have sends to a mix group with the FileOutput DMO.
- ╖ Tip: if you have trouble with particular ports failing to create, switch to no audiopath
- in the dropdown in the Transport Options, then to one of the Standard audiopaths. Another
- effective workaround is to switch to no input ports in the MIDI/Performance Options, then
- reselect the port.
- ╖ Under certain circumstances recording, playback and/or cursor timing may become out of sync.
- A workaround is to change the default audiopath in the Transport Options Toolbar.
- ╖ The user can set latency for the DirectMusic synth in the MIDI/Performance Options
- dialog, but DirectSound latency is added to this number. Depending on the speed of your
- machine, it may take some tweaking to find the point where latency is low enough for real-
- time input but high enough for solid audio performance. With the Super Low Latency option
- the DirectSound latency is greatly reduced.
-
- Other things to watch out for (from DX7):
- -----------------------------------------
- ╖ You can usually switch to other music and sound applications without any
- conflicts by hitting the "toggle MIDI" button (it's in the Transport
- Options toolbar - the icon has music notes and is to the left of the MIDI
- Options button).
- ╖ Saving Producer files to a network share is generally not recommended.
- . It is recommended that waves placed in DLS collections have sample rates
- between 4kHz and 80kHz. If a wave's sample rate happens to fall outside of
- these boundaries its pitch will be incorrect on playback.
- ╖ Be very cautious when referencing files to external projects, as links can
- be easily broken (e.g., if the external project is not open at the
- time that the referenced file is opened).
- ╖ Watch out for MIDI files with GM or GS resets at the start of the file.
- Bands created from MIDI files are given a tick value of -1 (to start
- before the notes), and a GM/GS reset will override the band at that point.
- ╖ When two events are placed at exactly the same point in time, DirectMusic makes
- no guarantee about which will occur first. With this in mind, very often
- Bands in segments should have a negative offset to ensure that the proper
- instrument settings will occur before the note start times. By default, bands
- inserted into segments will have a start time of -1 in relation to the beat.
- ╖ Selecting Voxware codecs for DLS compression may cause your machine to hang.
- If this occurs, the only known recourse is to reboot your machine.
-
-